/*
 ============================================================================
 Page	     : 261
 Name        : binary.c
 Date	     : 20210404
 Author      : Hbue 18060333
 Copyright   : Your copyright notice
 Description : 以二进制形式打印制整数
 ============================================================================
 */

#include <stdio.h>
void to_binary(unsigned long n);

int main(void)
{
	unsigned long number = 0;
	printf("Enter an integer (q to quit):\n");
	while(scanf("%lu", &number) == 1)
	{
		printf("Binary equivalent: ");
		to_binary(number);
		putchar('\n');
		printf("Enter an integer (q to quit):\n");
	}
	printf("Done.\n");

	return 0;
}

void to_binary(unsigned long n)		/* 递归函数 */
{
	int r = 0;

	r = n % 2;
	if(n >= 2)
	{
		to_binary(n / 2);
	}
	putchar(r == 0 ? '0' : '1');

	return;
}

